1670 IF K$="R" OR K$="r" THEN GOSUB *PACK:GOSUB *RECSET:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1680 IF K$="G" OR K$="g" THEN MEMOFLAG=0:GOSUB *MEMORY:MEMOFLAG=1:MEMOCSX%=0:GOSUB *MEMOPRT:GOSUB *MEMORY:PRINT:GOSUB *PACK:GOSUB *APPEND:GOSUB *PACK:COLOR 13:GOSUB *CPRT:COLOR 7:MEMOFLAG=0:GOSUB *MEMOPRT:GOTO *INKEY
1690 IF K$="L" OR K$="l" THEN IF FW$<>"" THEN MEMORY$=FW$:GOSUB *PACK:GOSUB *APPEND:GOSUB *PACK:COLOR 13:GOSUB *CPRT:COLOR 7:GOTO *INKEY
1700 IF K$="M" OR K$="m" THEN IF ER=0 THEN GOSUB *REPLY:GOSUB *PACK:GOSUB *APPEND:GOSUB *PACK:COLOR 13:GOSUB *CPRT:COLOR 7:GOTO *INKEY ELSE *INKEY
1710 IF K$=CHR$(28) THEN COLOR 7:GOSUB *CPRT:GOSUB *RIGHT:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1720 IF K$=CHR$(29) THEN COLOR 7:GOSUB *CPRT:GOSUB *LEFT:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1730 IF K$=CHR$(30) THEN COLOR 7:GOSUB *CPRT:GOSUB *UP:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1740 IF K$=CHR$(31) THEN COLOR 7:GOSUB *CPRT:GOSUB *DOWN:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1750 IF K$=CHR$(8) THEN GOSUB *PACK:COLOR 13:GOSUB *CPRT:COLOR 7:GOTO *INKEY
1760 IF K$=CHR$(13) THEN GOSUB *PACK:RETURN
1770 IF K$=CHR$(27) THEN SYSTEM
1780 IF K$=CHR$(18) THEN GOSUB *INS:GOTO *INKEY
1790 IF K$=CHR$(&H7F) OR K$=" " THEN GOSUB *DEL:COLOR 13:GOSUB *CPRT:COLOR 7:GOTO *INKEY
1800 IF &H27<ASC(K$) AND ASC(K$)<&H3A AND K$<>"'" AND K$<>"," THEN DUM$(CSX%)=K$:COLOR 7:GOSUB *CPRT:GOSUB *RIGHT:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1810 IF &H3F<ASC(K$) AND ASC(K$)<&H49 THEN DUM$(CSX%)=K$:COLOR 7:GOSUB *CPRT:GOSUB *RIGHT:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1820 IF &H60<ASC(K$) AND ASC(K$)<&H69 THEN DUM$(CSX%)=K$:COLOR 7:GOSUB *CPRT:GOSUB *RIGHT:COLOR 13:GOSUB *CPRT:GOTO *INKEY
1830 IF K$="[" OR K$="]" OR K$="^" OR K$="{" OR K$="}" THEN DUM$(CSX%)=K$:COLOR 7:GOSUB *CPRT:GOSUB *RIGHT:COLOR 13:GOSUB *CPRT:GOTO *INKEY ELSE *INKEY
1840 *LINMUSIN:'***** コマンド・ライン マウス入力 *****
1850 MUSX%=INT(MOUSE(0)/8):MUSY%=INT(MOUSE(1)/19)
1860 IF 59<=MUSX% AND MUSX%<=68 AND MUSY%=18 THEN K$=CHR$(27):RETURN
1870 IF 53<=MUSX% AND MUSX%<=58 AND MUSY%=18 THEN K$=" ":RETURN
1880 IF 69<=MUSX% AND MUSX%<=71 AND MUSY%=18 THEN K$=CHR$(&H7F):RETURN
1890 IF 10<=MUSX% AND MUSX%<=15 AND MUSY%=19 THEN K$=CHR$(18):RETURN
1900 IF 16<=MUSX% AND MUSX%<=26 AND MUSY%=19 THEN K$=CHR$(8):RETURN
1910 IF 27<=MUSX% AND MUSX%<=28 AND MUSY%=19 THEN K$=CHR$(&H1D):RETURN
1920 IF 29<=MUSX% AND MUSX%<=30 AND MUSY%=19 THEN K$=CHR$(&H1E):RETURN
1930 IF 31<=MUSX% AND MUSX%<=32 AND MUSY%=19 THEN K$=CHR$(&H1F):RETURN
1940 IF 33<=MUSX% AND MUSX%<=34 AND MUSY%=19 THEN K$=CHR$(&H1C):RETURN
1950 IF 35<=MUSX% AND MUSX%<=48 AND MUSY%=19 THEN K$=CHR$(13):RETURN
3940 IF A$="(" OR A$="[" OR A$="{" THEN PARTS=PARTS+1:CLASS=CLASS+1:CAL%(PARTS)=10:CLMAX=CLMAX+1:GOTO *DVJP1
3950 IF A$=")" OR A$="]" OR A$="}" THEN PARTS=PARTS+1:CLASS=CLASS-1:CAL%(PARTS)=-10:GOTO *DVJP1
3960 IF A$="*" THEN PARTS=PARTS+1:CAL%(PARTS)=1:GOTO *DVJP1
3970 IF A$="/" THEN PARTS=PARTS+1:CAL%(PARTS)=2:GOTO *DVJP1
3980 IF A$="+" THEN IF P$(PARTS)="" AND CAL%(PARTS)<>-10 THEN P$(PARTS)="1":PARTS=PARTS+1:CAL%(PARTS)=1+(CAL%(PARTS-1)=3)+INT((CAL%(PARTS-1)-INT(CAL%(PARTS-1)/10)*10)/2)*(CAL%(PARTS-1) AND 2)/2:GOTO *DVJP1 ELSE PARTS=PARTS+1:CAL%(PARTS)=3:GOTO *DVJP1
3990 IF A$="-" THEN IF P$(PARTS)="" AND CAL%(PARTS)<>-10 THEN P$(PARTS)="-1":PARTS=PARTS+1:CAL%(PARTS)=1+(CAL%(PARTS-1)=3)+INT((CAL%(PARTS-1)-INT(CAL%(PARTS-1)/10)*10)/2)*(CAL%(PARTS-1) AND 2)/2:GOTO *DVJP1 ELSE PARTS=PARTS+1:CAL%(PARTS)=4:GOTO *DVJP1
4000 IF A$="^" THEN PARTS=PARTS+1:CAL%(PARTS)=5:GOTO *DVJP1
4220 IF SHIN#=<(VAL(A$(C))+INT(ASC(A$(C))/65)*(ASC(A$(C))-55)*ABS(INT(ASC(A$(C))/71)-1)+INT(ASC(A$(C))/97)*(ASC(A$(C))-87))*ABS(INT(ASC(A$(C))/103)-1) THEN D#(COUNT,2)=5:ER=1
4450 IF D#(CC,1)=1 THEN *CIRCUM1:'***** 計算済みの項を読み飛ばす *****
4460 IF CAL%(CC)=5 THEN CKCIRC=CKCIRC+1:ENDCIRC=CC:GOTO *CIRCUM1
4470 *CIRCUM2
4480 IF CKCIRC=0 THEN D#(C,1)=1:RETURN:'***** べき乗が連なっていない *****
4490 SSUBTOTAL#=D#(ENDCIRC,0):D#(ENDCIRC,1)=1
4500 CKCIRC=ENDCIRC:CIRCERR=0
4510 FOR CIRC=ENDCIRC-1 TO C STEP-1
4520 ON ERROR GOTO *ERRLOOP
4530 IF D#(CIRC,1)=1 THEN *CIRCUM4:'***** 計算済みの項を読み飛ばす *****
4540 IF D#(CIRC,0)=1 THEN SSUBTOTAL#=1:CIRCERR=0:GOTO *CIRCUM3
4550 IF D#(CIRC,0)=0 THEN IF SSUBTOTAL#<0 THEN CIRCERR=0 ELSE SSUBTOTAL#=0:D#(CIRC,1)=1:CIRCERR=0:GOTO *CIRCUM3
4560 IF CIRCERR=1 THEN D#(CIRC,1)=1:D#(CIRC,2)=5:ER=1:GOTO *CIRCUM3
4570 '***** 最大値を越える計算エラーを予防する *****
4580 IF LOG(1.79769313486231D+308)<ABS(SSUBTOTAL#)*LOG(ABS(D#(CIRC,0))) THEN COLOR 2:PRINT SPC(15);"《 べき乗数値が大きすぎます! 修正してください。》":D#(CKCIRC,1)=1:D#(CKCIRC,2)=5:ER=1:CIRCERR=0:COLOR 7:GOTO *CIRCUM3